More and more data are being transmitted across networks such as the Internet. Contemporary data processing activities often produce, manipulate, or consume large quantities of data. Storing and transferring this data can be a challenging undertaking.
One approach that is frequently productive is to compress the data so that it consumes less space and can be transmitted over a given communication channel more quickly. Data compression algorithms identify redundant or inefficiently-coded information in an input data stream and re-encode it to be represented by fewer bits.